package com.sixth.docker.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sixth.core.entity.Registration;
import com.sixth.core.vo.R;
import com.sixth.docker.vo.*;

import java.util.List;

/**
 * @program: sixth-hospital-parent
 * @description:
 * @author: 赵庆龙
 * @create: 2024-08-16 15:43
 **/
public interface RegistrationService {
    public R<Registration> insert(Registration registration);

    //修改状态
    R<Registration> updateStatus(Registration registration);

    R<IPage<Registration>> selectByPage(RegistrationVo registrationVo);

    R<List<Registration>> queryToBeSeen(RegistrationStatusVo registrationStatusVo);

    R<List<Registration>> queryVisiting(RegistrationStatusVo registrationStatusVo);

    R<List<Registration>> queryVisitCompleted(RegistrationStatusVo registrationStatusVo);

    R<Registration> updateByStatus(String registrationId);

    R<IPage<Registration>> selectByPageApp(RegistrationListStatusAppVo registrationListStatusAppVo);

    R<Registration> addAppRegistration(RegistrationAppVo registrationAppVo);
    //根据挂号id进行删除
    R<Registration> deleteRegistration(String registrationId);

    R<List<Registration>> getAppointmentsBypatientId(RegistrationStatusVo registrationStatusVo);

     R<List<Registration>> selectReservations(ReservationsVo reservationsVo);

     R<Registration> updateByReservation(Registration registration);
}
